package com.qianxun.module.datasource1.admin.service;

import com.qianxun.module.datasource1.admin.dto.SysUserDTO;
import com.qianxun.module.datasource1.admin.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Set;

/**
* com.zch.admin.base.entity.SysUser模型业务接口
* @author: admin
* @date: 2019-11-13
* @version: 1.0.0
*/
public interface SysUserService extends IService<SysUser> {

    /**
     * 删除角色及其关联信息：角色关联
     * @param id 用户id
     */
    void deleteById(Long id);

    /**
     * 添加新用户
     * @param query 用户信息
     */
    void add(SysUserDTO query);

    /**
     * 更新用户密码
     * @param oldPassword 旧密码
     * @param password 新密码
     */
    void setPassword(String oldPassword, String password);

    /**
     * 获取指定用户名的用户信息
     * @param username
     * @return
     */
    SysUser getOneByUsername(String username);

    /**
     * 获取用户的功能角色列表
     * @param uuid 用户uuid
     * @return
     */
    List<String> getFunctionRoleListByUuid(String uuid);

    /**
     * 获取用户的菜单url地址列表
     * @param userId 用户id
     * @return
     */
    Set<String> getPermissionUrls(long userId);
}